{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-platform-user-registration-core",
      "artifactVersion": "2021.70.4",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.user.center",
          "org.nuxeo.ecm.user.center.dashboard",
          "org.nuxeo.ecm.user.center.dashboard.jsf",
          "org.nuxeo.ecm.user.center.notification",
          "org.nuxeo.ecm.user.center.oauth",
          "org.nuxeo.ecm.user.center.profile",
          "org.nuxeo.ecm.user.center.profile.jsf",
          "org.nuxeo.ecm.user.invite",
          "org.nuxeo.ecm.user.registration",
          "org.nuxeo.ecm.user.registration.web"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user",
        "id": "grp:org.nuxeo.ecm.user",
        "name": "org.nuxeo.ecm.user",
        "parentIds": [
          "grp:org.nuxeo.ecm.platform"
        ],
        "readmes": [],
        "version": "2021.70"
      },
      "bundleId": "org.nuxeo.ecm.user.registration",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--schema",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.core.types.contrib/Contributions/org.nuxeo.ecm.user.registration.core.types.contrib--schema",
              "id": "org.nuxeo.ecm.user.registration.core.types.contrib--schema",
              "registrationOrder": 39,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"schema\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <schema name=\"docinfo\" prefix=\"docinfo\" src=\"schemas/docinfo.xsd\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--doctype",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.core.types.contrib/Contributions/org.nuxeo.ecm.user.registration.core.types.contrib--doctype",
              "id": "org.nuxeo.ecm.user.registration.core.types.contrib--doctype",
              "registrationOrder": 35,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"doctype\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <facet name=\"UserRegistration\">\n      <schema name=\"userinfo\"/>\n      <schema name=\"docinfo\"/>\n      <schema name=\"registration\"/>\n    </facet>\n\n    <facet name=\"RegistrationConfiguration\">\n      <schema name=\"registrationconfiguration\"/>\n    </facet>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.core.types.contrib",
          "name": "org.nuxeo.ecm.user.registration.core.types.contrib",
          "requirements": [
            "org.nuxeo.ecm.user.invite.core.types.contrib"
          ],
          "resolutionOrder": 549,
          "services": [],
          "startOrder": 641,
          "version": "2021.70.4",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.user.registration.core.types.contrib\">\n\n  <require>org.nuxeo.ecm.user.invite.core.types.contrib</require>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\"\n             point=\"schema\">\n    <schema name=\"docinfo\" src=\"schemas/docinfo.xsd\"\n            prefix=\"docinfo\"/>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"doctype\">\n    <facet name=\"UserRegistration\">\n      <schema name=\"userinfo\"/>\n      <schema name=\"docinfo\"/>\n      <schema name=\"registration\"/>\n    </facet>\n\n    <facet name=\"RegistrationConfiguration\">\n      <schema name=\"registrationconfiguration\"/>\n    </facet>\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/user-registration-core-types-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.ecm.user.registration.UserRegistrationComponent",
          "documentationHtml": "",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.ecm.user.registration.UserRegistrationService",
              "descriptors": [
                "org.nuxeo.ecm.user.invite.UserRegistrationConfiguration"
              ],
              "documentationHtml": "",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.UserRegistrationService/ExtensionPoints/org.nuxeo.ecm.user.registration.UserRegistrationService--configuration",
              "id": "org.nuxeo.ecm.user.registration.UserRegistrationService--configuration",
              "label": "configuration (org.nuxeo.ecm.user.registration.UserRegistrationService)",
              "name": "configuration",
              "version": "2021.70.4"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.UserRegistrationService",
          "name": "org.nuxeo.ecm.user.registration.UserRegistrationService",
          "requirements": [],
          "resolutionOrder": 550,
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.ecm.user.registration.UserRegistrationService",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.UserRegistrationService/Services/org.nuxeo.ecm.user.registration.UserRegistrationService",
              "id": "org.nuxeo.ecm.user.registration.UserRegistrationService",
              "overriden": false,
              "version": "2021.70.4"
            }
          ],
          "startOrder": 907,
          "version": "2021.70.4",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.user.registration.UserRegistrationService\">\n\n  <service>\n    <provide interface=\"org.nuxeo.ecm.user.registration.UserRegistrationService\"/>\n  </service>\n\n  <implementation\n      class=\"org.nuxeo.ecm.user.registration.UserRegistrationComponent\"/>\n\n  <extension-point name=\"configuration\">\n    <object class=\"org.nuxeo.ecm.user.invite.UserRegistrationConfiguration\"/>\n  </extension-point>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/user-registration-service-framework.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--doctype",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.core.service.contrib/Contributions/org.nuxeo.ecm.user.registration.core.service.contrib--doctype",
              "id": "org.nuxeo.ecm.user.registration.core.service.contrib--doctype",
              "registrationOrder": 36,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"doctype\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <doctype extends=\"File\" name=\"UserRegistration\">\n      <facet name=\"UserRegistration\"/>\n      <facet name=\"HiddenInNavigation\"/>\n    </doctype>\n\n    <doctype extends=\"Workspace\" name=\"UserRegistrationContainer\">\n      <facet name=\"HiddenInNavigation\"/>\n    </doctype>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.lifecycle.LifeCycleService--types",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.core.service.contrib/Contributions/org.nuxeo.ecm.user.registration.core.service.contrib--types",
              "id": "org.nuxeo.ecm.user.registration.core.service.contrib--types",
              "registrationOrder": 14,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "name": "org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"types\" target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\">\n    <types>\n      <type name=\"UserRegistrationContainer\">default</type>\n      <type name=\"UserRegistration\">registrationRequest</type>\n    </types>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.user.registration.UserRegistrationService--configuration",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.core.service.contrib/Contributions/org.nuxeo.ecm.user.registration.core.service.contrib--configuration",
              "id": "org.nuxeo.ecm.user.registration.core.service.contrib--configuration",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.user.registration.UserRegistrationService",
                "name": "org.nuxeo.ecm.user.registration.UserRegistrationService",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<?xml version='1.0' encoding='UTF-8'?>\n<extension point=\"configuration\" target=\"org.nuxeo.ecm.user.registration.UserRegistrationService\">\n    <configuration merge=\"true\">\n      <requestDocType>UserRegistration</requestDocType>\n      <container>\n        <docType>UserRegistrationContainer</docType>\n        <parentPath>/management/</parentPath>\n        <name>registrationRequests</name>\n        <title>Registration Requests Container</title>\n      </container>\n      <validationEmail>\n        <title>Hi ${userinfo.firstName} ${userinfo.lastName}! You are invited to access ${productName}</title>\n        <template>skin/views/userRegistration/EmailInviteDocTemplate.ftl</template>\n      </validationEmail>\n      <reviveEmail>\n        <title>You are invited to access Nuxeo</title>\n        <template>skin/views/userRegistration/ReviveEmailInviteDocTemplate.ftl</template>\n      </reviveEmail>\n      <enterPasswordUrl>site/userRegistration/enterpassword/</enterPasswordUrl>\n      <validationRelUrl>site/userRegistration/validate</validationRelUrl>\n      <registrationUserFactory>org.nuxeo.ecm.user.registration.DefaultRegistrationUserFactory</registrationUserFactory>\n    </configuration>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.audit.service.NXAuditEventsService--event",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.core.service.contrib/Contributions/org.nuxeo.ecm.user.registration.core.service.contrib--event",
              "id": "org.nuxeo.ecm.user.registration.core.service.contrib--event",
              "registrationOrder": 9,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.audit.service.NXAuditEventsService",
                "name": "org.nuxeo.ecm.platform.audit.service.NXAuditEventsService",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"event\" target=\"org.nuxeo.ecm.platform.audit.service.NXAuditEventsService\">\n    <event name=\"registrationSubmitted\"/>\n    <event name=\"registrationAccepted\"/>\n    <event name=\"registrationValidated\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService--openUrl",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.core.service.contrib/Contributions/org.nuxeo.ecm.user.registration.core.service.contrib--openUrl",
              "id": "org.nuxeo.ecm.user.registration.core.service.contrib--openUrl",
              "registrationOrder": 2,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "name": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"openUrl\" target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\">\n    <openUrl name=\"RegisterUser_validate\">\n      <grantPattern>/nuxeo/site/userRegistration/validate</grantPattern>\n    </openUrl>\n    <openUrl name=\"RegisterUser_enterpassword\">********<grantPattern>/nuxeo/site/userRegistration/enterpassword/.*</grantPattern>\n    </openUrl>\n    <openUrl name=\"Graphical_Resources\">\n      <grantPattern>/nuxeo/site/skin/registration/.*</grantPattern>\n    </openUrl>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.core.service.contrib",
          "name": "org.nuxeo.ecm.user.registration.core.service.contrib",
          "requirements": [
            "org.nuxeo.ecm.user.registration.core.types.contrib",
            "org.nuxeo.ecm.user.invite.core.service.contrib"
          ],
          "resolutionOrder": 551,
          "services": [],
          "startOrder": 640,
          "version": "2021.70.4",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.user.registration.core.service.contrib\">\n\n  <require>org.nuxeo.ecm.user.registration.core.types.contrib</require>\n  <require>org.nuxeo.ecm.user.invite.core.service.contrib</require>\n\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"doctype\">\n    <doctype name=\"UserRegistration\" extends=\"File\">\n      <facet name=\"UserRegistration\"/>\n      <facet name=\"HiddenInNavigation\"/>\n    </doctype>\n\n    <doctype name=\"UserRegistrationContainer\" extends=\"Workspace\">\n      <facet name=\"HiddenInNavigation\"/>\n    </doctype>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\"\n             point=\"types\">\n    <types>\n      <type name=\"UserRegistrationContainer\">default</type>\n      <type name=\"UserRegistration\">registrationRequest</type>\n    </types>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.user.registration.UserRegistrationService\"\n             point=\"configuration\">\n    <configuration merge=\"true\">\n      <requestDocType>UserRegistration</requestDocType>\n      <container>\n        <docType>UserRegistrationContainer</docType>\n        <parentPath>/management/</parentPath>\n        <name>registrationRequests</name>\n        <title>Registration Requests Container</title>\n      </container>\n      <validationEmail>\n        <title>Hi ${userinfo.firstName} ${userinfo.lastName}! You are invited to access ${productName}</title>\n        <template>skin/views/userRegistration/EmailInviteDocTemplate.ftl</template>\n      </validationEmail>\n      <reviveEmail>\n        <title>You are invited to access Nuxeo</title>\n        <template>skin/views/userRegistration/ReviveEmailInviteDocTemplate.ftl</template>\n      </reviveEmail>\n      <enterPasswordUrl>site/userRegistration/enterpassword/</enterPasswordUrl>\n      <validationRelUrl>site/userRegistration/validate</validationRelUrl>\n      <registrationUserFactory>org.nuxeo.ecm.user.registration.DefaultRegistrationUserFactory</registrationUserFactory>\n    </configuration>\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.audit.service.NXAuditEventsService\"\n             point=\"event\">\n    <event name=\"registrationSubmitted\"/>\n    <event name=\"registrationAccepted\"/>\n    <event name=\"registrationValidated\"/>\n  </extension>\n\n  <extension\n      target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\"\n      point=\"openUrl\">\n    <openUrl name=\"RegisterUser_validate\">\n      <grantPattern>${org.nuxeo.ecm.contextPath}/site/userRegistration/validate</grantPattern>\n    </openUrl>\n    <openUrl name=\"RegisterUser_enterpassword\">********<grantPattern>${org.nuxeo.ecm.contextPath}/site/userRegistration/enterpassword/.*</grantPattern>\n    </openUrl>\n    <openUrl name=\"Graphical_Resources\">\n      <grantPattern>${org.nuxeo.ecm.contextPath}/site/skin/registration/.*</grantPattern>\n    </openUrl>\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/user-registration-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.listener.contrib/Contributions/org.nuxeo.ecm.user.registration.listener.contrib--listener",
              "id": "org.nuxeo.ecm.user.registration.listener.contrib--listener",
              "registrationOrder": 39,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n\n\t<listener async=\"false\" class=\"org.nuxeo.ecm.user.registration.UserRegistrationListener\" name=\"registrationListener\" postCommit=\"false\" priority=\"140\">\n      <event>registrationValidated</event>\n    </listener>\n    <listener async=\"false\" class=\"org.nuxeo.ecm.user.registration.RegistrationCleanerListener\" name=\"registrationCleaner\" postCommit=\"false\" priority=\"200\">\n      <event>documentRemoved</event>\n    </listener>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration/org.nuxeo.ecm.user.registration.listener.contrib",
          "name": "org.nuxeo.ecm.user.registration.listener.contrib",
          "requirements": [],
          "resolutionOrder": 552,
          "services": [],
          "startOrder": 644,
          "version": "2021.70.4",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n\n<component name=\"org.nuxeo.ecm.user.registration.listener.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.core.event.EventServiceComponent\"\n             point=\"listener\">\n\n\t<listener name=\"registrationListener\" async=\"false\" postCommit=\"false\"\n              class=\"org.nuxeo.ecm.user.registration.UserRegistrationListener\" priority=\"140\">\n      <event>registrationValidated</event>\n    </listener>\n    <listener name=\"registrationCleaner\" async=\"false\" postCommit=\"false\"\n              class=\"org.nuxeo.ecm.user.registration.RegistrationCleanerListener\" priority=\"200\">\n      <event>documentRemoved</event>\n    </listener>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/user-registration-listener-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-platform-user-registration-core-2021.70.4.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration",
      "id": "org.nuxeo.ecm.user.registration",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven\r\nBuilt-By: root\r\nBuild-Jdk: 11.0.26\r\nBundle-ManifestVersion: 1\r\nBundle-Version: 1.0.0\r\nBundle-Name: Nuxeo User Registration Core\r\nBundle-SymbolicName: org.nuxeo.ecm.user.registration;singleton:=true\r\nBundle-Vendor: Nuxeo\r\nNuxeo-WebModule: org.nuxeo.ecm.webengine.app.WebEngineModule;name=regi\r\n stration;extends=invite;headless=true\r\nNuxeo-Component: OSGI-INF/user-registration-core-types-contrib.xml,OSG\r\n I-INF/user-registration-service-framework.xml,OSGI-INF/user-registrat\r\n ion-contrib.xml,OSGI-INF/user-registration-listener-contrib.xml\r\n\r\n",
      "maxResolutionOrder": 552,
      "minResolutionOrder": 549,
      "packages": [
        "nuxeo-platform-user-registration"
      ],
      "requirements": [],
      "version": "2021.70.4"
    },
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-platform-user-registration-web",
      "artifactVersion": "2021.70.4",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.ecm.user.center",
          "org.nuxeo.ecm.user.center.dashboard",
          "org.nuxeo.ecm.user.center.dashboard.jsf",
          "org.nuxeo.ecm.user.center.notification",
          "org.nuxeo.ecm.user.center.oauth",
          "org.nuxeo.ecm.user.center.profile",
          "org.nuxeo.ecm.user.center.profile.jsf",
          "org.nuxeo.ecm.user.invite",
          "org.nuxeo.ecm.user.registration",
          "org.nuxeo.ecm.user.registration.web"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user",
        "id": "grp:org.nuxeo.ecm.user",
        "name": "org.nuxeo.ecm.user",
        "parentIds": [
          "grp:org.nuxeo.ecm.platform"
        ],
        "readmes": [],
        "version": "2021.70"
      },
      "bundleId": "org.nuxeo.ecm.user.registration.web",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration.web/org.nuxeo.ecm.user.registration.actions.contrib/Contributions/org.nuxeo.ecm.user.registration.actions.contrib--actions",
              "id": "org.nuxeo.ecm.user.registration.actions.contrib--actions",
              "registrationOrder": 18,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n\n    <action id=\"UserRegistration\" label=\"admcommand.userregistration\" link=\"/view_admin-fragment.xhtml\" order=\"55\" type=\"admin_rest_document_link\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"UserRegistrationRequests\" label=\"tab.userregistration.requests\" link=\"/incl/userregistration/requests_listing_all.xhtml\" order=\"10\" type=\"admin_rest_document_link\">\n      <category>UserRegistration_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"UserRegistrationConfiguration\" label=\"tab.userregistration.configuration\" link=\"/incl/userregistration/requests_configuration.xhtml\" order=\"20\" type=\"admin_rest_document_link\">\n      <category>UserRegistration_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"UserRegistrationRequestsCreate\" label=\"tab.userregistration.requests.create\" link=\"/incl/userregistration/default_requests_create.xhtml\" order=\"220\" type=\"rest_document_link\">\n      <category>TAB_MANAGE_sub_tab</category>\n      <filter-id>manage</filter-id>\n      <filter-id>mutable_document</filter-id>\n      <filter-id>view_content</filter-id>\n    </action>\n\n    <action id=\"UserRegistrationRequestsMultipleCreate\" label=\"tab.userregistration.requests.multiple.create\" link=\"/incl/userregistration/multiple_requests_create.xhtml\" order=\"230\" type=\"rest_document_link\">\n      <category>TAB_MANAGE_sub_tab</category>\n      <filter-id>manage</filter-id>\n      <filter-id>mutable_document</filter-id>\n      <filter-id>view_content</filter-id>\n    </action>\n\n    <action id=\"UserRegistrationRequestsListingLocal\" label=\"tab.userregistration.requests\" link=\"/incl/userregistration/requests_listing_local.xhtml\" order=\"240\" type=\"rest_document_link\">\n      <category>TAB_MANAGE_sub_tab</category>\n      <filter-id>manage</filter-id>\n      <filter-id>mutable_document</filter-id>\n      <filter-id>view_content</filter-id>\n      <filter id=\"displayRegistrationListingLocal\">\n        <rule grant=\"true\">\n          <condition>#{userRegistrationConfigurationActions.getRules('default_registration').isDisplayLocalTab()}\n          </condition>\n        </rule>\n      </filter>\n    </action>\n\n    <action id=\"UserRegistrationDelete\" label=\"tab.userregistration.delete\" link=\"${userRegistrationActions.deleteUserRegistration}\" order=\"20\">\n      <category>CURRENT_USER_REQUESTS_GLOBAL</category>\n      <category>CURRENT_USER_REQUESTS_LOCAL</category>\n      <filter-id>only_for_manager</filter-id>\n      <filter id=\"canDeleteRegistration\">\n        <rule grant=\"true\">\n          <condition>#{userRegistrationActions.canDelete}</condition>\n        </rule>\n      </filter>\n    </action>\n\n    <action id=\"UserRegistrationRevive\" label=\"tab.userregistration.revive\" link=\"${userRegistrationActions.reviveUserRegistration}\" order=\"30\">\n      <category>CURRENT_USER_REQUESTS_GLOBAL</category>\n      <category>CURRENT_USER_REQUESTS_LOCAL</category>\n      <filter-id>only_for_manager</filter-id>\n      <filter id=\"canReviveRegistration\">\n        <rule grant=\"true\">\n          <condition>#{userRegistrationActions.canRevive}</condition>\n        </rule>\n      </filter>\n    </action>\n\n    <action id=\"UserRegistrationValidate\" label=\"tab.userregistration.validate\" link=\"${userRegistrationActions.validateUserRegistration}\" order=\"25\">\n      <category>CURRENT_USER_REQUESTS_GLOBAL</category>\n      <category>CURRENT_USER_REQUESTS_LOCAL</category>\n      <filter-id>only_for_manager</filter-id>\n      <filter id=\"canValidateRegistration\">\n        <rule grant=\"true\">\n          <condition>#{userRegistrationActions.canValidate}</condition>\n        </rule>\n      </filter>\n    </action>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration.web/org.nuxeo.ecm.user.registration.actions.contrib",
          "name": "org.nuxeo.ecm.user.registration.actions.contrib",
          "requirements": [],
          "resolutionOrder": 553,
          "services": [],
          "startOrder": 638,
          "version": "2021.70.4",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.user.registration.actions.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\"\n    point=\"actions\">\n\n    <action id=\"UserRegistration\" link=\"/view_admin-fragment.xhtml\" label=\"admcommand.userregistration\"\n      type=\"admin_rest_document_link\"\n      order=\"55\">\n      <category>NUXEO_ADMIN</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"UserRegistrationRequests\" link=\"/incl/userregistration/requests_listing_all.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.userregistration.requests\" order=\"10\">\n      <category>UserRegistration_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"UserRegistrationConfiguration\" link=\"/incl/userregistration/requests_configuration.xhtml\"\n      type=\"admin_rest_document_link\"\n      label=\"tab.userregistration.configuration\" order=\"20\">\n      <category>UserRegistration_sub_tab</category>\n      <filter-id>only_for_manager</filter-id>\n    </action>\n\n    <action id=\"UserRegistrationRequestsCreate\" link=\"/incl/userregistration/default_requests_create.xhtml\"\n      order=\"220\" label=\"tab.userregistration.requests.create\" type=\"rest_document_link\">\n      <category>TAB_MANAGE_sub_tab</category>\n      <filter-id>manage</filter-id>\n      <filter-id>mutable_document</filter-id>\n      <filter-id>view_content</filter-id>\n    </action>\n\n    <action id=\"UserRegistrationRequestsMultipleCreate\" link=\"/incl/userregistration/multiple_requests_create.xhtml\"\n      order=\"230\" label=\"tab.userregistration.requests.multiple.create\" type=\"rest_document_link\">\n      <category>TAB_MANAGE_sub_tab</category>\n      <filter-id>manage</filter-id>\n      <filter-id>mutable_document</filter-id>\n      <filter-id>view_content</filter-id>\n    </action>\n\n    <action id=\"UserRegistrationRequestsListingLocal\" link=\"/incl/userregistration/requests_listing_local.xhtml\"\n      order=\"240\" label=\"tab.userregistration.requests\" type=\"rest_document_link\">\n      <category>TAB_MANAGE_sub_tab</category>\n      <filter-id>manage</filter-id>\n      <filter-id>mutable_document</filter-id>\n      <filter-id>view_content</filter-id>\n      <filter id=\"displayRegistrationListingLocal\">\n        <rule grant=\"true\">\n          <condition>#{userRegistrationConfigurationActions.getRules('default_registration').isDisplayLocalTab()}\n          </condition>\n        </rule>\n      </filter>\n    </action>\n\n    <action id=\"UserRegistrationDelete\" link=\"${userRegistrationActions.deleteUserRegistration}\"\n      order=\"20\" label=\"tab.userregistration.delete\">\n      <category>CURRENT_USER_REQUESTS_GLOBAL</category>\n      <category>CURRENT_USER_REQUESTS_LOCAL</category>\n      <filter-id>only_for_manager</filter-id>\n      <filter id=\"canDeleteRegistration\">\n        <rule grant=\"true\">\n          <condition>#{userRegistrationActions.canDelete}</condition>\n        </rule>\n      </filter>\n    </action>\n\n    <action id=\"UserRegistrationRevive\" link=\"${userRegistrationActions.reviveUserRegistration}\"\n      order=\"30\" label=\"tab.userregistration.revive\">\n      <category>CURRENT_USER_REQUESTS_GLOBAL</category>\n      <category>CURRENT_USER_REQUESTS_LOCAL</category>\n      <filter-id>only_for_manager</filter-id>\n      <filter id=\"canReviveRegistration\">\n        <rule grant=\"true\">\n          <condition>#{userRegistrationActions.canRevive}</condition>\n        </rule>\n      </filter>\n    </action>\n\n    <action id=\"UserRegistrationValidate\" link=\"${userRegistrationActions.validateUserRegistration}\"\n      order=\"25\" label=\"tab.userregistration.validate\">\n      <category>CURRENT_USER_REQUESTS_GLOBAL</category>\n      <category>CURRENT_USER_REQUESTS_LOCAL</category>\n      <filter-id>only_for_manager</filter-id>\n      <filter id=\"canValidateRegistration\">\n        <rule grant=\"true\">\n          <condition>#{userRegistrationActions.canValidate}</condition>\n        </rule>\n      </filter>\n    </action>\n\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/user-registration-actions-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.ContentViewService--contentViews",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration.web/org.nuxeo.ecm.user.registration.contentviews.contrib/Contributions/org.nuxeo.ecm.user.registration.contentviews.contrib--contentViews",
              "id": "org.nuxeo.ecm.user.registration.contentviews.contrib--contentViews",
              "registrationOrder": 3,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "name": "org.nuxeo.ecm.platform.ui.web.ContentViewService",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"contentViews\" target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\">\n\n    <contentView name=\"user_requests_view\">\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <pattern>\n          SELECT * FROM Document WHERE ecm:mixinType = 'UserRegistration' AND ecm:isVersion = 0\n        </pattern>\n        <pageSize>20</pageSize>\n        <sort ascending=\"false\" column=\"dc:created\"/>\n      </coreQueryPageProvider>\n\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n        <event>requestDocumentsChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"user_requests_listing_layout\" title=\"document_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n      <selectionList>CURRENT_USER_REQUESTS</selectionList>\n      <actions category=\"CURRENT_USER_REQUESTS_GLOBAL\"/>\n\n    </contentView>\n\n    <contentView name=\"local_user_requests_view\">\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <pattern>\n          SELECT * FROM Document WHERE ecm:mixinType = 'UserRegistration' AND docinfo:documentId = ? AND ecm:isVersion = 0 AND\n          ecm:currentLifeCycleState != 'validated'\n        </pattern>\n        <parameter>#{navigationContext.currentDocument.id}</parameter>\n        <pageSize>20</pageSize>\n        <sort ascending=\"false\" column=\"dc:created\"/>\n      </coreQueryPageProvider>\n\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n        <event>requestDocumentsChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n\n      <resultLayouts>\n        <layout iconPath=\"/icons/document_listing_icon.png\" name=\"user_requests_listing_layout\" title=\"document_listing\" translateTitle=\"true\"/>\n      </resultLayouts>\n\n      <selectionList>CURRENT_USER_REQUESTS</selectionList>\n      <actions category=\"CURRENT_USER_REQUESTS_LOCAL\"/>\n\n    </contentView>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService--list",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration.web/org.nuxeo.ecm.user.registration.contentviews.contrib/Contributions/org.nuxeo.ecm.user.registration.contentviews.contrib--list",
              "id": "org.nuxeo.ecm.user.registration.contentviews.contrib--list",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
                "name": "org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"list\" target=\"org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService\">\n    <documentsList name=\"CURRENT_USER_REQUESTS\">\n      <events>\n        <event>folderishDocumentSelectionChanged</event>\n        <event>searchPerformed</event>\n        <event>requestDocumentsChanged</event>\n      </events>\n      <isSession>false</isSession>\n    </documentsList>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration.web/org.nuxeo.ecm.user.registration.contentviews.contrib",
          "name": "org.nuxeo.ecm.user.registration.contentviews.contrib",
          "requirements": [],
          "resolutionOrder": 554,
          "services": [],
          "startOrder": 639,
          "version": "2021.70.4",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.ecm.user.registration.contentviews.contrib\">\n\n  <extension target=\"org.nuxeo.ecm.platform.ui.web.ContentViewService\"\n             point=\"contentViews\">\n\n    <contentView name=\"user_requests_view\">\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <pattern>\n          SELECT * FROM Document WHERE ecm:mixinType = 'UserRegistration' AND ecm:isVersion = 0\n        </pattern>\n        <pageSize>20</pageSize>\n        <sort column=\"dc:created\" ascending=\"false\"/>\n      </coreQueryPageProvider>\n\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n        <event>requestDocumentsChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"user_requests_listing_layout\" title=\"document_listing\"\n                translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"/>\n      </resultLayouts>\n\n      <selectionList>CURRENT_USER_REQUESTS</selectionList>\n      <actions category=\"CURRENT_USER_REQUESTS_GLOBAL\"/>\n\n    </contentView>\n\n    <contentView name=\"local_user_requests_view\">\n\n      <coreQueryPageProvider>\n        <property name=\"coreSession\">#{documentManager}</property>\n        <pattern>\n          SELECT * FROM Document WHERE ecm:mixinType = 'UserRegistration' AND docinfo:documentId = ? AND ecm:isVersion = 0 AND\n          ecm:currentLifeCycleState != 'validated'\n        </pattern>\n        <parameter>#{navigationContext.currentDocument.id}</parameter>\n        <pageSize>20</pageSize>\n        <sort column=\"dc:created\" ascending=\"false\"/>\n      </coreQueryPageProvider>\n\n      <refresh>\n        <event>documentChanged</event>\n        <event>documentChildrenChanged</event>\n        <event>requestDocumentsChanged</event>\n      </refresh>\n      <cacheKey>only_one_cache</cacheKey>\n      <cacheSize>1</cacheSize>\n\n      <resultLayouts>\n        <layout name=\"user_requests_listing_layout\" title=\"document_listing\"\n                translateTitle=\"true\" iconPath=\"/icons/document_listing_icon.png\"/>\n      </resultLayouts>\n\n      <selectionList>CURRENT_USER_REQUESTS</selectionList>\n      <actions category=\"CURRENT_USER_REQUESTS_LOCAL\"/>\n\n    </contentView>\n\n  </extension>\n\n  <extension point=\"list\" target=\"org.nuxeo.ecm.webapp.documentsLists.DocumentsListsService\">\n    <documentsList name=\"CURRENT_USER_REQUESTS\">\n      <events>\n        <event>folderishDocumentSelectionChanged</event>\n        <event>searchPerformed</event>\n        <event>requestDocumentsChanged</event>\n      </events>\n      <isSession>false</isSession>\n    </documentsList>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/user-registration-contentviews-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--layouts",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration.web/org.nuxeo.ecm.user.registration.layouts.contrib/Contributions/org.nuxeo.ecm.user.registration.layouts.contrib--layouts",
              "id": "org.nuxeo.ecm.user.registration.layouts.contrib--layouts",
              "registrationOrder": 10,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<extension point=\"layouts\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <layout name=\"user_requests_listing_layout\">\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">/layouts/layout_listing_ajax_template.xhtml</template>\n      </templates>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"isListingSelectionBoxWithCurrentDocument\">\n              true\n            </property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"isHidden\">false</property>\n          </properties>\n          <widget>listing_ajax_selection_box_with_current_document</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">userinfo:login</property>\n          </properties>\n          <widget>user_request_login</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">userinfo:email</property>\n          </properties>\n          <widget>user_request_email</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">userinfo:firstName</property>\n          </properties>\n          <widget>user_request_firstName</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">userinfo:lastName</property>\n          </properties>\n          <widget>user_request_lastName</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">userinfo:groups</property>\n          </properties>\n          <widget>user_request_groups</widget>\n        </column>\n\n        <column name=\"creation_date\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:created</property>\n            <property name=\"label\">label.dublincore.created</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_creation_date</widget>\n        </column>\n\n        <column name=\"ace_begin\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">docinfo:begin</property>\n            <property name=\"label\">label.permissions.from</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_ace_begin</widget>\n        </column>\n\n        <column name=\"ace_end\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">docinfo:end</property>\n            <property name=\"label\">label.permissions.to</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_ace_end</widget>\n        </column>\n\n        <column name=\"lifecycle\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">\n              ecm:currentLifeCycleState\n            </property>\n            <property name=\"label\">\n              label.content.header.currentLifecycleState\n            </property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_lifecycle</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n          </properties>\n          <widget>user_request_accept</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n          </properties>\n          <widget>user_request_reject</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"multiple_user_invitation_info\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>multiple_request_emails</widget>\n        </row>\n        <row>\n          <widget>doc_request_permission</widget>\n        </row>\n        <row>\n          <widget>user_request_comment</widget>\n        </row>\n        <row>\n          <widget>user_request_copy_owner</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"user_invitation_info\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>user_request_email</widget>\n        </row>\n        <row>\n          <widget>user_request_login</widget>\n        </row>\n        <row>\n          <widget>user_request_firstName</widget>\n        </row>\n        <row>\n          <widget>user_request_lastName</widget>\n        </row>\n        <row>\n          <widget>doc_request_permission</widget>\n        </row>\n        <row>\n          <widget>doc_request_date_range</widget>\n        </row>\n        <row>\n          <widget>user_request_group</widget>\n        </row>\n        <row>\n          <widget>user_request_comment</widget>\n        </row>\n        <row>\n          <widget>user_request_copy_owner</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"user_request_configuration\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>request_config_allowUserCreation</widget>\n        </row>\n        <row>\n          <widget>request_config_forceRight</widget>\n        </row>\n        <row>\n          <widget>request_config_allowDirectValidationForExistingUser</widget>\n        </row>\n        <row>\n          <widget>request_config_displayLocalRegistration</widget>\n        </row>\n      </rows>\n    </layout>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager--widgets",
              "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration.web/org.nuxeo.ecm.user.registration.layouts.contrib/Contributions/org.nuxeo.ecm.user.registration.layouts.contrib--widgets",
              "id": "org.nuxeo.ecm.user.registration.layouts.contrib--widgets",
              "registrationOrder": 9,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "name": "org.nuxeo.ecm.platform.forms.layout.WebLayoutManager",
                "type": "service"
              },
              "version": "2021.70.4",
              "xml": "<?xml version='1.0' encoding='UTF-8'?>\n<extension point=\"widgets\" target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\">\n\n    <widget name=\"listing_ace_begin\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.permissions.from</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.docinfo.begin</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_ace_end\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.permissions.to</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.docinfo.end</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"request_config_allowUserCreation\" type=\"checkbox\">\n      <labels>\n        <label mode=\"any\">label.registration.config.allowUserCreation</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.registration.config.help.allowUserCreation</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>registrationconfiguration:allowUserCreation</field>\n      </fields>\n    </widget>\n\n    <widget name=\"request_config_allowDirectValidationForExistingUser\" type=\"checkbox\">\n      <labels>\n        <label mode=\"any\">label.registration.config.allowDirectValidationForExistingUser</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.registration.config.help.allowDirectValidationForExistingUser</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>registrationconfiguration:allowDirectValidationForExistingUser</field>\n      </fields>\n    </widget>\n\n    <widget name=\"request_config_forceRight\" type=\"checkbox\">\n      <labels>\n        <label mode=\"any\">label.registration.config.forceRightAssignment</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.registration.config.help.forceRightAssignment</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>registrationconfiguration:forceRightAssignment</field>\n      </fields>\n    </widget>\n\n    <widget name=\"request_config_displayLocalRegistration\" type=\"checkbox\">\n      <labels>\n        <label mode=\"any\">label.registration.config.displayLocalRegistrationTab</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.registration.config.help.displayLocalRegistrationTab</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>registrationconfiguration:displayLocalRegistrationTab</field>\n      </fields>\n    </widget>\n\n    <widget name=\"user_request_login\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userinfo.login</label>\n      </labels>\n      <fields>\n        <field>data.userinfo.login</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n        <property name=\"validator\">\n          #{userRegistrationActions.validateUsernameEmail}\n        </property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_firstName\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userinfo.firstName</label>\n      </labels>\n      <fields>\n        <field>data.userinfo.firstName</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_lastName\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userinfo.lastName</label>\n      </labels>\n      <fields>\n        <field>data.userinfo.lastName</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_groups\" type=\"multipleUsersSuggestion\">\n      <labels>\n        <label mode=\"any\">label.userinfo.groups</label>\n      </labels>\n      <fields>\n        <field>data.userinfo.groups</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_email\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userinfo.email</label>\n      </labels>\n      <fields>\n        <field>data.userinfo.email</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"required\">true</property>\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"doc_request_permission\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.docinfo.permission</label>\n      </labels>\n      <fields>\n        <field>data.docinfo.permission</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"required\">true</property>\n      </properties>\n      <properties widgetMode=\"any\">\n        <property name=\"template\">/widgets/user_request_rights_widget_template.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"doc_request_date_range\" type=\"datetimeRange\">\n      <labels>\n        <label mode=\"any\">label.request.date.range</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.request.help.range</label>\n      </helpLabels>\n      <fields>\n        <field>data.docinfo.begin</field>\n        <field>data.docinfo.end</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"multiple_request_emails\" type=\"textarea\">\n      <labels>\n        <label mode=\"any\">label.request.multiple.emails</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.request.help.multiple.emails</label>\n      </helpLabels>\n      <fields>\n        <field>data.multipleEmails</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n        <property name=\"required\">true</property>\n        <property name=\"validator\">\n          #{userRegistrationActions.validateMultipleUser}\n        </property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_copy_owner\" type=\"checkbox\">\n      <labels>\n        <label mode=\"any\">label.request.copyOwner</label>\n      </labels>\n      <fields>\n        <field>data.copyOwner</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_group\" type=\"multipleUsersSuggestion\">\n      <labels>\n        <label mode=\"any\">label.request.groups</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.userinfo.groups</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"edit\">\n          #{nxu:test(webActions.checkFilter('usersGroupsManagementAccess'),\n          'edit', 'view')}\n        </mode>\n        <mode value=\"editPassword\">********</mode>\n      </widgetModes>\n      <properties widgetMode=\"any\">\n        <property name=\"userSuggestionSearchType\">GROUP_TYPE</property>\n        <property name=\"hideAdminGroups\">true</property>\n        <property name=\"hidePowerUsersGroup\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_comment\" type=\"textarea\">\n      <labels>\n        <label mode=\"any\">label.request.comment</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.request.help.comment</label>\n      </helpLabels>\n      <fields>\n        <field>data.comment</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_accept\" type=\"template\">\n      <labels>\n        <label mode=\"any\">command.userrequest.accept</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"any\">#{currentUser.isAdministrator() ? 'edit' : 'hidden'}</mode>\n      </widgetModes>\n      <fields>\n        <field>data</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">/widgets/user_request_accept_widget_template.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_reject\" type=\"template\">\n      <labels>\n        <label mode=\"any\">command.userrequest.reject</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"any\">#{currentUser.isAdministrator() ? 'edit' : 'hidden'}</mode>\n      </widgetModes>\n      <fields>\n        <field>data</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">/widgets/user_request_reject_widget_template.xhtml</property>\n      </properties>\n    </widget>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration.web/org.nuxeo.ecm.user.registration.layouts.contrib",
          "name": "org.nuxeo.ecm.user.registration.layouts.contrib",
          "requirements": [
            "org.nuxeo.ecm.platform.forms.layouts.webapp.base"
          ],
          "resolutionOrder": 624,
          "services": [],
          "startOrder": 642,
          "version": "2021.70.4",
          "xmlFileContent": "<?xml version='1.0' encoding='UTF-8'?>\n<component name=\"org.nuxeo.ecm.user.registration.layouts.contrib\">\n\n  <require>org.nuxeo.ecm.platform.forms.layouts.webapp.base</require>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\" point=\"layouts\">\n\n    <layout name=\"user_requests_listing_layout\">\n      <properties mode=\"any\">\n        <property name=\"showListingHeader\">true</property>\n        <property name=\"showRowEvenOddClass\">true</property>\n      </properties>\n      <templates>\n        <template mode=\"any\">/layouts/layout_listing_ajax_template.xhtml</template>\n      </templates>\n      <columns>\n        <column>\n          <properties mode=\"any\">\n            <property name=\"isListingSelectionBoxWithCurrentDocument\">\n              true\n            </property>\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n            <property name=\"columnStyleClass\">iconColumn</property>\n            <property name=\"isHidden\">false</property>\n          </properties>\n          <widget>listing_ajax_selection_box_with_current_document</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">userinfo:login</property>\n          </properties>\n          <widget>user_request_login</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">userinfo:email</property>\n          </properties>\n          <widget>user_request_email</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">userinfo:firstName</property>\n          </properties>\n          <widget>user_request_firstName</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">userinfo:lastName</property>\n          </properties>\n          <widget>user_request_lastName</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">userinfo:groups</property>\n          </properties>\n          <widget>user_request_groups</widget>\n        </column>\n\n        <column name=\"creation_date\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">dc:created</property>\n            <property name=\"label\">label.dublincore.created</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_creation_date</widget>\n        </column>\n\n        <column name=\"ace_begin\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">docinfo:begin</property>\n            <property name=\"label\">label.permissions.from</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_ace_begin</widget>\n        </column>\n\n        <column name=\"ace_end\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">docinfo:end</property>\n            <property name=\"label\">label.permissions.to</property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <properties mode=\"edit_sort_infos_map\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_ace_end</widget>\n        </column>\n\n        <column name=\"lifecycle\">\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">true</property>\n            <property name=\"sortPropertyName\">\n              ecm:currentLifeCycleState\n            </property>\n            <property name=\"label\">\n              label.content.header.currentLifecycleState\n            </property>\n          </properties>\n          <properties mode=\"edit_sort_infos\">\n            <property name=\"showInSortInfoSelection\">true</property>\n          </properties>\n          <widget>listing_lifecycle</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n          </properties>\n          <widget>user_request_accept</widget>\n        </column>\n\n        <column>\n          <properties mode=\"any\">\n            <property name=\"useFirstWidgetLabelAsColumnHeader\">false</property>\n          </properties>\n          <widget>user_request_reject</widget>\n        </column>\n      </columns>\n    </layout>\n\n    <layout name=\"multiple_user_invitation_info\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>multiple_request_emails</widget>\n        </row>\n        <row>\n          <widget>doc_request_permission</widget>\n        </row>\n        <row>\n          <widget>user_request_comment</widget>\n        </row>\n        <row>\n          <widget>user_request_copy_owner</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"user_invitation_info\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>user_request_email</widget>\n        </row>\n        <row>\n          <widget>user_request_login</widget>\n        </row>\n        <row>\n          <widget>user_request_firstName</widget>\n        </row>\n        <row>\n          <widget>user_request_lastName</widget>\n        </row>\n        <row>\n          <widget>doc_request_permission</widget>\n        </row>\n        <row>\n          <widget>doc_request_date_range</widget>\n        </row>\n        <row>\n          <widget>user_request_group</widget>\n        </row>\n        <row>\n          <widget>user_request_comment</widget>\n        </row>\n        <row>\n          <widget>user_request_copy_owner</widget>\n        </row>\n      </rows>\n    </layout>\n\n    <layout name=\"user_request_configuration\">\n      <templates>\n        <template mode=\"any\">/layouts/layout_default_template.xhtml</template>\n      </templates>\n      <rows>\n        <row>\n          <widget>request_config_allowUserCreation</widget>\n        </row>\n        <row>\n          <widget>request_config_forceRight</widget>\n        </row>\n        <row>\n          <widget>request_config_allowDirectValidationForExistingUser</widget>\n        </row>\n        <row>\n          <widget>request_config_displayLocalRegistration</widget>\n        </row>\n      </rows>\n    </layout>\n\n  </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.forms.layout.WebLayoutManager\" point=\"widgets\">\n\n    <widget name=\"listing_ace_begin\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.permissions.from</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.docinfo.begin</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"listing_ace_end\" type=\"datetime\">\n      <labels>\n        <label mode=\"any\">label.permissions.to</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.docinfo.end</field>\n      </fields>\n      <properties widgetMode=\"any\">\n        <property name=\"pattern\">#{nxu:basicDateFormatter()}</property>\n      </properties>\n      <properties mode=\"csv\">\n        <property name=\"csv_formatMask\">#{nxu:basicDateFormatter()}</property>\n        <property name=\"csv_forceType\">date</property>\n      </properties>\n    </widget>\n\n    <widget name=\"request_config_allowUserCreation\" type=\"checkbox\">\n      <labels>\n        <label mode=\"any\">label.registration.config.allowUserCreation</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.registration.config.help.allowUserCreation</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>registrationconfiguration:allowUserCreation</field>\n      </fields>\n    </widget>\n\n    <widget name=\"request_config_allowDirectValidationForExistingUser\" type=\"checkbox\">\n      <labels>\n        <label mode=\"any\">label.registration.config.allowDirectValidationForExistingUser</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.registration.config.help.allowDirectValidationForExistingUser</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>registrationconfiguration:allowDirectValidationForExistingUser</field>\n      </fields>\n    </widget>\n\n    <widget name=\"request_config_forceRight\" type=\"checkbox\">\n      <labels>\n        <label mode=\"any\">label.registration.config.forceRightAssignment</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.registration.config.help.forceRightAssignment</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>registrationconfiguration:forceRightAssignment</field>\n      </fields>\n    </widget>\n\n    <widget name=\"request_config_displayLocalRegistration\" type=\"checkbox\">\n      <labels>\n        <label mode=\"any\">label.registration.config.displayLocalRegistrationTab</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.registration.config.help.displayLocalRegistrationTab</label>\n      </helpLabels>\n      <translated>true</translated>\n      <fields>\n        <field>registrationconfiguration:displayLocalRegistrationTab</field>\n      </fields>\n    </widget>\n\n    <widget name=\"user_request_login\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userinfo.login</label>\n      </labels>\n      <fields>\n        <field>data.userinfo.login</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n        <property name=\"validator\">\n          #{userRegistrationActions.validateUsernameEmail}\n        </property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_firstName\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userinfo.firstName</label>\n      </labels>\n      <fields>\n        <field>data.userinfo.firstName</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_lastName\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userinfo.lastName</label>\n      </labels>\n      <fields>\n        <field>data.userinfo.lastName</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_groups\" type=\"multipleUsersSuggestion\">\n      <labels>\n        <label mode=\"any\">label.userinfo.groups</label>\n      </labels>\n      <fields>\n        <field>data.userinfo.groups</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_email\" type=\"text\">\n      <labels>\n        <label mode=\"any\">label.userinfo.email</label>\n      </labels>\n      <fields>\n        <field>data.userinfo.email</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"required\">true</property>\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"doc_request_permission\" type=\"template\">\n      <labels>\n        <label mode=\"any\">label.docinfo.permission</label>\n      </labels>\n      <fields>\n        <field>data.docinfo.permission</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"required\">true</property>\n      </properties>\n      <properties widgetMode=\"any\">\n        <property name=\"template\">/widgets/user_request_rights_widget_template.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"doc_request_date_range\" type=\"datetimeRange\">\n      <labels>\n        <label mode=\"any\">label.request.date.range</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.request.help.range</label>\n      </helpLabels>\n      <fields>\n        <field>data.docinfo.begin</field>\n        <field>data.docinfo.end</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"multiple_request_emails\" type=\"textarea\">\n      <labels>\n        <label mode=\"any\">label.request.multiple.emails</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.request.help.multiple.emails</label>\n      </helpLabels>\n      <fields>\n        <field>data.multipleEmails</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n        <property name=\"required\">true</property>\n        <property name=\"validator\">\n          #{userRegistrationActions.validateMultipleUser}\n        </property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_copy_owner\" type=\"checkbox\">\n      <labels>\n        <label mode=\"any\">label.request.copyOwner</label>\n      </labels>\n      <fields>\n        <field>data.copyOwner</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_group\" type=\"multipleUsersSuggestion\">\n      <labels>\n        <label mode=\"any\">label.request.groups</label>\n      </labels>\n      <translated>true</translated>\n      <fields>\n        <field>data.userinfo.groups</field>\n      </fields>\n      <widgetModes>\n        <mode value=\"edit\">\n          #{nxu:test(webActions.checkFilter('usersGroupsManagementAccess'),\n          'edit', 'view')}\n        </mode>\n        <mode value=\"editPassword\">********</mode>\n      </widgetModes>\n      <properties widgetMode=\"any\">\n        <property name=\"userSuggestionSearchType\">GROUP_TYPE</property>\n        <property name=\"hideAdminGroups\">true</property>\n        <property name=\"hidePowerUsersGroup\">true</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_comment\" type=\"textarea\">\n      <labels>\n        <label mode=\"any\">label.request.comment</label>\n      </labels>\n      <helpLabels>\n        <label mode=\"edit\">label.request.help.comment</label>\n      </helpLabels>\n      <fields>\n        <field>data.comment</field>\n      </fields>\n      <properties widgetMode=\"edit\">\n        <property name=\"styleClass\">dataInputText</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_accept\" type=\"template\">\n      <labels>\n        <label mode=\"any\">command.userrequest.accept</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"any\">#{currentUser.isAdministrator() ? 'edit' : 'hidden'}</mode>\n      </widgetModes>\n      <fields>\n        <field>data</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">/widgets/user_request_accept_widget_template.xhtml</property>\n      </properties>\n    </widget>\n\n    <widget name=\"user_request_reject\" type=\"template\">\n      <labels>\n        <label mode=\"any\">command.userrequest.reject</label>\n      </labels>\n      <widgetModes>\n        <mode value=\"any\">#{currentUser.isAdministrator() ? 'edit' : 'hidden'}</mode>\n      </widgetModes>\n      <fields>\n        <field>data</field>\n      </fields>\n      <properties mode=\"any\">\n        <property name=\"template\">/widgets/user_request_reject_widget_template.xhtml</property>\n      </properties>\n    </widget>\n\n  </extension>\n\n</component>",
          "xmlFileName": "/OSGI-INF/user-registration-layouts-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-platform-user-registration-web-2021.70.4.jar",
      "groupId": "org.nuxeo.ecm.platform",
      "hierarchyPath": "/grp:org.nuxeo.ecm.platform/grp:org.nuxeo.ecm.user/org.nuxeo.ecm.user.registration.web",
      "id": "org.nuxeo.ecm.user.registration.web",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven\r\nBuilt-By: root\r\nBuild-Jdk: 11.0.26\r\nBundle-ManifestVersion: 1\r\nBundle-Version: 1.0.0\r\nBundle-Name: Nuxeo User Registration Web\r\nBundle-SymbolicName: org.nuxeo.ecm.user.registration.web;singleton:=true\r\nBundle-Vendor: Nuxeo\r\nNuxeo-WebModule: org.nuxeo.ecm.webengine.app.WebEngineModule;name=regi\r\n stration;extends=invite;headless=true\r\nNuxeo-Component: OSGI-INF/user-registration-actions-contrib.xml,OSGI-I\r\n NF/user-registration-contentviews-contrib.xml,OSGI-INF/user-registrat\r\n ion-layouts-contrib.xml\r\n\r\n",
      "maxResolutionOrder": 624,
      "minResolutionOrder": 553,
      "packages": [
        "nuxeo-platform-user-registration"
      ],
      "requirements": [],
      "version": "2021.70.4"
    }
  ],
  "creationDate": 1745336700323,
  "key": "Nuxeo Platform-2021.70",
  "name": "Nuxeo Platform",
  "operations": [],
  "packages": [
    {
      "@type": "NXPackage",
      "bundles": [
        "org.nuxeo.ecm.user.registration",
        "org.nuxeo.ecm.user.registration.web"
      ],
      "conflicts": [],
      "dependencies": [
        "nuxeo-jsf-ui"
      ],
      "hierarchyPath": "/nuxeo-platform-user-registration-2021.70.4",
      "id": "nuxeo-platform-user-registration-2021.70.4",
      "name": "nuxeo-platform-user-registration",
      "optionalDependencies": [],
      "packageType": "addon",
      "title": "Nuxeo Platform User Registration",
      "version": "2021.70.4"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1745336700323,
  "version": "2021.70"
}